1. Field of the Invention
The invention relates to a printing apparatus that prints out data received from an external device such as a host computer. More particularly, the invention relates to a printing apparatus that operates on a control program received from the external device, the program designating the manner in which the apparatus is to run.
2. Description of the Related Art
The typical prior art printing apparatus comprises a controller such as a microcomputer that controls the apparatus in printing data received from an external device. The control program of the microcomputer is generally stored in a read-only nonvolatile memory (ROM). The controller of the printing apparatus always works in accordance with this control program.
Recent years have seen growing diversification of external devices, such as host computers, for connection with the printing apparatus. Along with the trend has come the demand for connecting the printing apparatus to these diverse kinds of external devices. The demand is being met by some recently developed printing apparatuses whose read-only nonvolatile memory (ROM) contains only basic programs for start-up and data reception control; a control program for telling the apparatus specifically how to print is received from the outside source and held in an internal writable memory (RAM or flash memory). The two kinds of control programs combine to control the way the printing apparatus operates.
The externally supplied control programs are of dedicated types, each addressing the character code or control code system of a specific external device. Under this scheme, any one of the diverse external devices may be connected to the printing apparatus without the bothersome task of replacing the ROM in the latter.
Printing apparatuses whose internal ROM accommodates all necessary control programs can be thoroughly checked for performance in the assembly stage since their performance depends on the stored control programs. Such a check for performance control cannot be made in the assembly stage on those printing apparatuses that are designed to receive control programs from an external device, for storage into the internal writable memory, and then operate in accordance therewith. In this respect, what is important for the printing apparatus whose control program is supplied externally is to check whether the control program is normally received and stored into the writable memory of the apparatus. Conventionally, that check is carried out upon program reception through verification of the check sums inserted in the control program.
The disadvantage of the above check sum verification is manifold. Because the verification is merely a check on program codes, it reveals far fewer errors in the control program than the check made in the assembly stage. The check sum verification cannot be performed while the control program is being run. In addition, it is difficult to isolate the suspected portion of the program indicated by any error detected, hence a virtual inability to correct the error. This connotes that if the control program is found to be erroneously stored, the only way to correct the problem is to again input the control program from the outside source or device.